recursion integer exponentiation